iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 24
0
自我挑戰組

學習資料結構30天系列 第 24

[Data Structure][Tree] - Red-Black Tree

  • 分享至 

  • xImage
  •  

前言

平衡樹中的一種,紅黑樹。

紅黑樹 Red-Black Tree

是Node上有紅、黑色區別的一種Binary Search Tree(BST),且從Root到某個Leaf的簡單路徑一定不會超過從Root到任何一條其他Path的兩倍長,使得樹趨近平衡,加快新增、刪除、搜尋節點的速度。

  • 特性:
  1. 每個Node多了顏色屬性,不是紅色就會是黑色。
  2. Root一定會是黑色。
  3. 如果是紅色的Node,其兩個Child node必定會是黑色的。
    • 如果是黑色的Node,其Child node的顏色就沒有限制。
  4. 如果Node沒有Child node,那麼要補上External node,又稱為NIL
  5. NIL會是黑色的。
  6. 從任何Node到其Leaf的所有簡單路徑都會有相同數量的黑色Node。
  • 例子:
    https://ithelp.ithome.com.tw/upload/images/20181107/20112438zc5EVpgUVb.jpg

上一篇
[Data Structure] - Hash Table
下一篇
[Data Structure][Tree] - Huffman tree
系列文
學習資料結構30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言